<?php
	/**
	 * Object that represents a class, that has not been loaded, yet.
	 * @author IMP
	 */

	class PHPClass {
		private $name, $methods = array(), $parent = null, $implements = array(), $mods = array();
		
		public function __construct($name, array $mods = array()){
			$this->name = $name;
			$this->mods = $mods;
		}
		
		public function addImplementation($class){
			$this->implements[] = $class;
		}
		
		public function getImplementations(){
			return $this->implements;
		}
		
		public function setParent($class){
			$this->parent = $class;
		}
		
		public function getParent(){
			return $this->parent;
		}
		
		public function getName(){
			return $this->name;
		}
		
		public function pushMethods(array $methods){
			foreach($methods as $m){
				if($m instanceof PHPFunction) $this->methods[] = $m;
			}
		}
		
		public function getMethods(){
			return $this->methods;
		}
		
		public function getModifiers(){
			return $this->mods;
		}
	}
?>